package com.example.testproject

import android.content.Intent
import android.os.Bundle
import android.util.Log
import android.view.View
import androidx.appcompat.app.AppCompatActivity
import com.example.testproject.activity.*
import kotlinx.android.synthetic.main.activity_main.*
import kotlin.concurrent.thread


class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }


    /**
     * TODO 渐变文字
     */
    fun onGradualChangeClick(view: View) {
        startActivity(Intent(this, GradualChangeActivity::class.java))
    }

    /**
     * TODO 传感器
     */
    fun onSensorClick(view: View) {
        startActivity(Intent(this, SensorActivity::class.java))
    }

    /**
     * TODO Rxjava
     */
    fun onRxJavaClick(view: View) {
        startActivity(Intent(this, RxJavaActivity::class.java))
    }

    /**
     * TODO Palette
     */
    fun onPaletteClick(view: View) {
        startActivity(Intent(this, PaletteActivity::class.java))
    }

    /**
     * TODO 仿支付宝功能球拖拽
     */
    fun onDragClick(view: View) {
        startActivity(Intent(this, DragHomeActivity::class.java))
    }

    /**
     * TODO jetPack Navigation
     */
    fun onNavigationClick(view: View) {
        //测试子现场是否能跳转
        thread {
            startActivity(Intent(this, NavigationActivity::class.java))
        }
    }

    /**
     * TODO SortedActivity
     */
    fun onSortedClick(view: View) {
        startActivity(Intent(this, SortedActivity::class.java))
    }

    /*
     * 作者:android 超级兵
     * 创建时间: 10/11/21 5:30 PM
     * TODO 图片缩放
     */
    fun onPhotoClick(view: View) {
        startActivity(Intent(this, PhotoZoomActivity::class.java))
    }

    /*
     * 作者:android 超级兵
     * 创建时间: 10/25/21 9:43 AM
     * TODO rv 中级进阶
     */
    fun onSelectClick(view: View) {
        startActivity(Intent(this, SelectActivity::class.java))
    }

    /*
     * 作者:android 超级兵
     * 创建时间: 10/25/21 9:44 AM
     * TODO  Rv高级进阶一
     */
    fun onRvAdvancedClick(view: View) {
        startActivity(Intent(this, RvAdvancedActivity::class.java))
    }

    /*
    * 作者:android 超级兵
    * 创建时间: 10/27/21 5:28 PM
    * TODO recyclerView 进阶二
    */
    fun onRvAdvancedSecondClick(view: View) {
        startActivity(Intent(this, RvAdvancedSecondActivity::class.java))
    }


    /*
     * 作者:android 超级兵
     * 创建时间: 11/2/21 10:09 AM
     * TODO 横竖屏切换测试
     */
    fun onLandClick(view: View) {
        startActivity(Intent(this, LandActivity::class.java))
    }


    /*
     * 作者:android 超级兵
     * 创建时间: 11/3/21 9:25 AM
     * TODO 废弃startActivityForResult() 推荐使用Activity Result API 测试
     */
    fun onResultClick(view: View) {
        startActivity(Intent(this, ResultApiFirstActivity::class.java))
    }

    /*
      * 作者:android 超级兵
      * 创建时间: 11/3/21 10:25 AM
      * TODO recyclerView 源码分析
      */
    fun onRecyclerViewClick(view: View) {
        startActivity(Intent(this, RecyclerViewAnalysisActivity::class.java))
    }

    /*
       * 作者:android 超级兵
       * 创建时间: 11/3/21 4:51 PM
       * TODO 仿探探效果
       */
    fun onTanTanClick(view: View) {
        startActivity(Intent(this, CardStackActivity::class.java))
    }

    /*
     * 作者:android 超级兵
     * 创建时间: 11/23/21 3:40 PM
     * TODO mqtt
     */
    fun onMqttClick(view: View) {
        startActivity(Intent(this, MqttActivity::class.java))
    }


    private val themeList = listOf(
        R.color.black,
        R.color.white,
        R.color.green,
        R.color.purple_200,
        R.color.purple_500,
    )
    private val themeTextList = listOf(
        "黑色",
        "白色",
        "绿色",
        "淡紫色",
        "深紫色",
    )

    /*
     * 作者:android 超级兵
     * 创建时间: 10/25/21 10:01 AM
     * TODO 切换主题
     */
    fun onThemeClick(view: View) {
        // 切换夜间模式
        // AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
        // AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
        val random = (themeList.indices).random()

        Log.i("szjRandom", "$random")

        btTheme.text = themeTextList[random]

        window.setBackgroundDrawableResource(themeList[random])
    }

    /*
     * 作者:android 超级兵
     * 创建时间: 12/20/21 5:57 PM
     * TODO jetPack hilt
     */
    fun onHiltClick(view: View) {
        startActivity(Intent(this, HiltTestActivity::class.java))
    }

    /*
     * 作者:android 超级兵
     * 创建时间: 12/20/21 7:19 PM
     * TODO 选择 Rv 进阶
     */
    fun onSelectRecyclerViewClick(view: View) {
        startActivity(Intent(this, RvSelectActivity::class.java))
    }

    /*
     * 作者:android 超级兵
     * 创建时间: 12/23/21 3:00 PM
     * TODO Retrofit源码分析
     */
    fun onRetrofitClick(view: View) {
        startActivity(Intent(this, RetrofitActivity::class.java))
    }

    /*
     * 作者:android 超级兵
     * 创建时间: 12/24/21 9:27 AM
     * TODO MotionLayout布局测试
     */
    fun onMotionLayoutTestClick(view: View) {
//        startActivity(Intent(this,MotionLayoutActivity::class.java))
        startActivity(Intent(this, MotionLayoutDemoActivity::class.java))
    }


    /*
     * 作者:android 超级兵
     * 创建时间: 1/14/22 2:35 PM
     * TODO asyncTask源码分析
     */
    fun onAsyncTaskClick(view: View) {
        startActivity(Intent(this, AsyncTaskActivity::class.java))
    }

    /*
     * 作者:android 超级兵
     * 创建时间: 1/24/22 5:38 PM
     * TODO lottie 动画
     */
    fun onLottieClick(view: View) {
        startActivity(Intent(this, LottieActivity::class.java))
    }

    /*
     * 作者:android 超级兵
     * 创建时间: 1/26/22 7:33 PM
     * TODO coil
     */
    fun onCoilClick(view: View) {
        startActivity(Intent(this, CoilActivity::class.java))
    }

    /*
     * 作者:android 超级兵
     * 创建时间: 4/6/22 9:50 AM
     * TODO 测试 saveInstanceState
     */
    fun onInstanceStateClick(view:View){
        startActivity(Intent(this, InstanceStateActivity::class.java))
    }

    /*
     * 作者:android 超级兵
     * 创建时间: 4/8/22 10:29 AM
     * TODO 测试measure view绘制流程。
     */
    fun onTestMeasureClick(view: View) {
        startActivity(Intent(this, MeasureActivity::class.java))
    }


}


